커널에서는 C언어의 원래 자료형 대신에 typedef로 정의된 자료형이 많이 사용된다.(_t)
- pid_t, uid_t, gid_t, dev_t, sizie_t, …
- <linux/types.h>에 정의
데이터의 크기를 명시적으로 표현한 자료형도 사용한다.
- u8, u16, u32, s8, s16, s32(커널 코드에서만 사용 가능)
u-unsinged/ s-signed
- 사용자 프로그램에서는 __u8, __s8과 같이 _를 두개 붙여서 사용한다.
- <asm/types.h>에 정의
커널 프로그램은 일반적인 라이브러리를 사용하지 못하고 커널에서 export한 함수들만 사용 가능하다.
커널 인터페이스 함수의 분류
- I/O port, I/O memory
- Interrupt
- Memory
- Synchoronization
- Kernel Message 출력
- Device Driver register